package goescape

type style struct {
	// Reset all colors and styles.
	Reset,
	// Bold mode.
	Bold,
	// Faint mode.
	Faint,
	// Italic mode.
	Italic,
	// Underline mode.
	Underline,
	// Blink mode.
	Blink,
	// Invert mode.
	Invert,
	// Hide mode.
	Hide,
	// Strike mode.
	Strike,
	// Double underline mode.
	DoubleUnderline,
	// Overline mode.
	Overline Escape
}

// Return escape code for control styles.
func Style() style {
	return style{
		Reset:           "\x1b[0m",
		Bold:            "\x1b[1m",
		Faint:           "\x1b[2m",
		Italic:          "\x1b[3m",
		Underline:       "\x1b[4m",
		Blink:           "\x1b[5m",
		Invert:          "\x1b[7m",
		Hide:            "\x1b[8m",
		Strike:          "\x1b[9m",
		DoubleUnderline: "\x1b[21m",
		Overline:        "\x1b[53m",
	}
}
